知识点名称:LocationManager用法

编号: K11-1

前驱知识点编号:K3-1,K3-2,K6-1

作者:

讲义内容:

11.1.1 LocationManager类基本用法

LocationManager这个类可以访问系统的定位服务,应用可以周期性地获得设备地理位置的更新。

(1)获得LocationManager对象的方法:

Context.getSystemService(Context.LOCATION_SERVICE)

(2)需要权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />  
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

(3)主要方法:requestLocationUpdates()

requestLocationUpdates()是获取位置信息的关键方法,此方法重载了5次。

  1. requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)

  2. requestLocationUpdates(long minTime, float minDistance, Criteria criteria, LocationListener listener, Looper looper)

  3. requestLocationUpdates(long minTime, float minDistance, Criteria criteria, PendingIntent intent)

  4. requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener, Looper looper)

  5. requestLocationUpdates(String provider, long minTime, float minDistance, PendingIntent intent)

第1个方法比较常用,它通过provider来注册位置更新。

  • @param provider the name of the provider with which to register
  • @param minTime minimum time interval between location updates, in milliseconds
  • @param minDistance minimum distance between location updates, in meters
  • @param listener a {@link LocationListener} whose
  • {@link LocationListener#onLocationChanged} method will be called for each location update

(4)LocationListener: 当位置发生变化时,用于从LocationManager中收取通知

需要重写4个回调方法:

  • void onLocationChanged(Location location);
  • void onStatusChanged(String provider, int status, Bundle extras);
  • void onProviderEnabled(String provider);
  • void onProviderDisabled(String provider);

11.1.2 Android简单定位编程步骤

results matching ""

    No results matching ""